package com.xiaolun.nio;

import java.nio.IntBuffer;

/**
 * 基本案例
 */
public class BasicBuffer {
	public static void main(String[] args) {

		//举例说明Buffer的使用 (简单说明)
		//创建一个Buffer, 大小为 5, 即可以存放5个int
		IntBuffer intBuffer = IntBuffer.allocate(5);

		//向buffer 存放数据
//        intBuffer.put(10);
//        intBuffer.put(11);
        //capacity标识容量
		for (int i = 0; i < intBuffer.capacity(); i++) {
			intBuffer.put(i * 2);
		}

		//如何从buffer读取数据
		//将buffer转换，读写切换(!!!)
        /*
        public final Buffer flip() {
        limit = position; //读数据不能超过5
        position = 0;
        mark = -1;
        return this;
    }
         */
        //将buffer读写切换
		intBuffer.flip();
//		intBuffer.position(1);//1,2
//		System.out.println(intBuffer.get());
//		intBuffer.limit(3);
        /**
         * hasRemaining 如果还有就把数据取出来
         * get()里面维护了一个索引，每get一次就移动一位
         */
		while (intBuffer.hasRemaining()) {
		    // 0 2 4 6 8
			System.out.println(intBuffer.get());
		}
	}
}
